package com.naiterui.ehp.bs.doctor.fegin;

import java.util.List;

import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestParam;

import com.naiterui.ehp.bp.bo.emr.InquireCaseBO;
import com.naiterui.ehp.bp.support.config.FeignConfiguration;
import com.naiterui.ehp.bp.support.exception.BusinessException;
import com.naiterui.ehp.bs.doctor.vo.SuperviseFirstToDoctorVO;
import com.naiterui.ehp.bs.doctor.vo.SuperviseMedicalRecordVO;

/**
 * @Description TODO
 * @Author gongbaoqiang
 * @Date 2020/6/3 6:26 PM
 */
@FeignClient(name = "adEmr", url = "${ehp.domain.emr}", configuration = FeignConfiguration.class)
public interface EmrFeignClient {

    @GetMapping("inner/patient/health/record/familys")
    List<Long> findFamilysByPatient(@RequestParam("patientId") Long patientId) throws BusinessException;

    @GetMapping("inner/supervise/record/get")
    List<SuperviseMedicalRecordVO> medicalRecord(@RequestParam("sessionId") String sessionId, @RequestParam("patientId") Long patientId,
                                                 @RequestParam("doctorId") Long doctorId);

    @GetMapping("inner/supervise/record/firsttodoctor/info")
    SuperviseFirstToDoctorVO firseToDoctor(@RequestParam("patientId") Long patientId);

    @PostMapping("inner/medicalRecord/inquirer/case")
    InquireCaseBO getCase(@RequestParam("recordId") String recordId);

    @PostMapping("inner/patient/disease/inquirer/case")
    InquireCaseBO getDisease(@RequestParam("recordId") String recordId);
}
